package com.hongxin.nw.netty.utils;

import lombok.extern.slf4j.Slf4j;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

@Slf4j
public class DateUtil {
    /**
     * 根据时间戳转指定格式
     * @param time 时间
     * @param format 格式
     * @return 返回
     */
    public static String getTimeFormat(Date time, String format){
        SimpleDateFormat sf = new SimpleDateFormat(format);
        return sf.format(time);
    }
    /**
     * 根据时间相减得到秒数
     * @param starttime yyyy-MM-dd HH:mm:ss
     * @param endtime yyyy-MM-dd HH:mm:ss
     * @return 返回
     */
    public static String getSecond(String starttime, String endtime){
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        long st = 0; //Long.parseLong(date2TimeStamp(starttime,"yyyy-MM-dd HH:mm:ss"));
        long et = 0; //Long.parseLong(date2TimeStamp(endtime,"yyyy-MM-dd HH:mm:ss"));
        try {
            st = sdf.parse(starttime).getTime()/1000;
            et = sdf.parse(endtime).getTime()/1000;
        } catch (ParseException e) {
            e.printStackTrace();
        }
        long res = et - st;
        log.info("时间相减得到秒数 : " + res);
        return String.valueOf(res);
    }


//    /**
//     * 时间戳转换成日期格式字符串
//     * @param seconds 精确到毫秒的字符串
//     * @param format 如：yyyy-MM-dd HH:mm:ss
//     * @return 返回
//     */
//    static String timeStamp2Date(String seconds, String format) {
//        if(seconds == null || seconds.isEmpty() || seconds.equals("null")){
//            return "";
//        }
//        if(format == null || format.isEmpty()){
//            format = "yyyy-MM-dd HH:mm:ss";
//        }
//        SimpleDateFormat sdf = new SimpleDateFormat(format);
//        return sdf.format(new Date(Long.valueOf(seconds)));
//    }
//    /**
//     * 日期格式字符串转换成时间戳
//     * @param date_str 字符串日期
//     * @param format 如：yyyy-MM-dd HH:mm:ss
//     * @return  返回
//     */
//    private static String date2TimeStamp(String date_str, String format){
//        try {
//            SimpleDateFormat sdf = new SimpleDateFormat(format);
//            return String.valueOf(sdf.parse(date_str).getTime()/1000);
//        } catch (Exception e) {
//            e.printStackTrace();
//        }
//        return "";
//    }
//    /**
//     * 取得当前时间戳（精确到秒）
//     * @return 返回
//     */
//    public static String timeStamp(){
//        long time = System.currentTimeMillis();
//        return String.valueOf(time/1000);
//    }
//    /**
//     * 当前日期增加多少天
//     * @param day 天
//     * @return 返回
//     */
//    public static String addTime(final int day){
//        SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd-HH-mm-ss-SSS");
//        Calendar c = Calendar.getInstance();
//        c.add(Calendar.DAY_OF_MONTH, day);
//        return sf.format(c.getTime());
//    }
}